简单说下复制集

  1. MongoDB的复制集是由传统的master/slave结构演变而来的,是一组拥有相同数据集的MongoDB实例所组成的集群,所说的复制其实就是将数据同步在多台服务器的过程。

  2. 复制集提供了数据的冗余备份,并在多个服务器上存储数据的副本,提高了数据的可用性,保证了数据的安全。

  3. 复制集至少需要两个节点:主节点和从节点。主节点负责处理客户端的请求,并记录在其上的所有写操作的oplog,而从节点定期轮询主节点来获取这oplog,并在自己的数据副本执行这些操作。

Ubuntu-14.04搭建复制集

#准备
sudo cp mongo-2.6.zip /usr/local
sudo unzip mongo-2.6.zip
sudo mv mongo-2.6 mongo26
cd mongo26
sudo apt-get install scons
sudo scons all
cd /alidata

#配置文件
sudo mkdir -p mongodb/conf
cd /alidata/mongodb/conf
sudo vim 28001.conf
插入如下内容:
bind_ip=10.0.13.13
port=28001
logpath=/alidata/mongodb/log/28001.log
logappend=true
dbpath=/alidata/mongodb/data/28001
pidfilepath=/alidata/mongodb/data/28001/28001.pid
replSet=teddy
oplogSize=40960
:wq
sudo cp 28001.conf 28002.conf
sudo sed -i 's/28001/28002/g' 28002.conf
sudo cp 28001.conf 28003.conf
sudo sed -i 's/28001/28003/g' 28003.conf

#数据目录
sudo mkdir -p mongodb/data
sudo mkdir -p mongodb/data/28001
sudo mkdir -p mongodb/data/28002
sudo mkdir -p mongodb/data/28003

#日志目录
sudo mkdir -p mongodb/log

#启动
sudo /usr/local/mongo26/mongod --config /alidata/mongodb/conf/28001.conf
sudo /usr/local/mongo26/mongod --config /alidata/mongodb/conf/28002.conf
sudo /usr/local/mongo26/mongod --config /alidata/mongodb/conf/28003.conf

#检查
ps -ef |grep 'mongod'
netstat -tlnp

#连接并配置
/usr/local/mongo26/mongo 10.0.13.13:28001
rs.initiate( {"_id":"teddy","members":[{"_id":1,"host":"10.0.13.13:28001"},{"_id":2,"host":"10.0.13.13:28002"},{"_id":3,"host":"10.0.13.13:28003"}]})
#可以指定某个为选举节点
rs.initiate( {"_id":"teddy","members":[{"_id":1,"host":"10.0.13.13:28001"},{"_id":2,"host":"10.0.13.13:28002"},{"_id":3,"host":"10.0.13.13:28003","arbiterOnly":true}]})

#退出重连
/usr/local/mongo26/mongo 10.0.13.13:28001

zhaoyingnan911
114 声望1 粉丝

学而时习之,不亦说乎